<!-- 违规投诉 -->

<template>
    <div class="complain-page">

        <button class="complain-btn" @click="handleAdd">去投诉</button>
        <!-- 投诉列表 -->
        <el-table
          :header-cell-style="tableHeaderColor"
          :data="tableData"
          :default-sort="{ prop: 'date', order: 'descending' }" 
          :cell-style="cellStyle"
          @row-click="rowClick"
          style="width: 100%"
        >
            <el-table-column label="序号" width="60" style="padding-left: 10px;" align="center">
                <template #default="scope">
                    <el-image
                      style="width: 20px; height: 20px"
                      :src="require(`@/assets/images/${scope.row.icon}`)"
                      fit="fill">
                    </el-image>
                </template>
            </el-table-column>
            <el-table-column prop="name" label="公告名称" />
            <el-table-column prop="time" label="发布时间" sortable width="130" align="center" />
            <el-table-column prop="state" label="处理状态" width="100" align="center" />
            <el-table-column label="操作" width="90" align="center">
                <template #default="scope">
                    <el-button class="el-button" @click="handleReview(scope.row)" text>查看</el-button>
                </template>
            </el-table-column>
        </el-table>

        <!-- 添加投诉弹窗 -->
        <AddComplain ref="childrenRef" @addData="addData" />
    </div>
</template>

<script>
import { reactive, ref, toRefs } from 'vue'
import { useRouter } from 'vue-router'
import AddComplain from '@/components/AddComplain.vue'

export default {
    components: {
        AddComplain
    },
    setup() {
        const data = reactive({
            tableData: [
                {
                    icon: 'u19.png',
                    name: '四川省交通建设集国有限责任公司智能化料场招标采购的公示',
                    time: '2022-04-13',
                    state: '正在处理'
                },
                {
                    icon: 'u19.png',
                    name: '校工会交互智能平板采购竞价成交公吉',
                    time: '2022-04-13',
                    state: '正在处理'
                },
                {
                    icon: 'u19.png',
                    name: '平邑县图书馆馆藏图书及智能化设备采购项目中标结果公示',
                    time: '2022-04-13',
                    state: '正在处理'
                },
                {
                    icon: 'u19.png',
                    name: '三一智能电机-局部放电设备-招标招标公告-ZB202304130003\n\n项目标名',
                    time: '2022-04-13',
                    state: '正在处理'
                },
                {
                    icon: 'u19.png',
                    name: '中电鸿信信息科技有限公司2023年警务室智能化改造项目单一来源采购方案公示',
                    time: '2022-04-13',
                    state: '正在处理'
                },
                {
                    icon: 'u19.png',
                    name: '海头镇主基村十地发向项目',
                    time: '2022-04-13',
                    state: '正在处理'
                },
                {
                    icon: 'u19.png',
                    name: '先锋创业大楼（515-1室） 60m²',
                    time: '2022-04-13',
                    state: '正在处理'
                },
                {
                    icon: 'u19.png',
                    name: '万达开绿色智能铸造产业园项目（二期）比选结果公告',
                    time: '2022-04-13',
                    state: '正在处理'
                },
                {
                    icon: 'u19.png',
                    name: '2023年度工伤基金结算支付智能宙核监控项目竞争性磋商公告',
                    time: '2022-04-13',
                    state: '处理完成'
                },
                {
                    icon: 'u19.png',
                    name: '万达开绿色智能铸造产业园项目（二期）比洗结果公告',
                    time: '2022-04-13',
                    state: '处理完成'
                },
                {
                    icon: 'u19.png',
                    name: '太原市迎泽区卫生局卫生监督所2023年4月至12月政府采购意向-公用经费项目',
                    time: '2022-04-13',
                    state: '处理完成'
                },
                {
                    icon: 'u19.png',
                    name: '侯马市第二中学校2023年4月至11月政府采购意向-城乡义务教育补助经费中央资金',
                    time: '2022-04-13',
                    state: '处理完成'
                },
                {
                    icon: 'u19.png',
                    name: '太原市迎泽区卫生局卫生监香所2023年4月至12月政府采购意向-公用经费项目',
                    time: '2022-04-13',
                    state: '处理完成'
                },
                {
                    icon: 'u19.png',
                    name: '侯马市第二中学校2023年4月至8月政府采购意向-城乡义务教育补助经费中央资金',
                    time: '2022-04-13',
                    state: '处理完成'
                },
                {
                    icon: 'u19.png',
                    name: '【次氣酸钠贮存罐修理】采购公告 附件',
                    time: '2022-04-13',
                    state: '处理完成'
                }
            ]
        })
        const router = useRouter()
        // 通过ref获取子组件
        const childrenRef = ref(null)
        // 修改表头属性
        function tableHeaderColor() {
            return {
                background: '#F7FDFD',
                color: '#333'
            }
        }
        // 调整列表样式
        function cellStyle(info) {
            if (info.columnIndex == 3 && info.row.state === "正在处理") {
                return {
                    padding: '5px 0',
                    color: '#E99C29'
                }
            }
            return {
                padding: '5px 0'
            }
        }
        // 点击某一行
        function rowClick(row,column,event) {
            console.log(row,column,event)
            router.push({
                name: 'ComplainDetails'
            })
        }
        // 点击查看
        function handleReview(item) {
            console.log(item);
            router.push({
                name: 'ComplainDetails'
            })
        }
        // 点击添加
        function handleAdd() {
            // 调用子组件的方法
            childrenRef.value.showDialog()
        }
        // 添加数据
        function addData(item) {
            console.log('添加内容', item);
            data.tableData.unshift({
                icon: 'u19.png',
                name: item.content,
                time: '2022-04-13',
                state: '正在处理'
            })
        }
        return {
            ...toRefs(data),
            tableHeaderColor,
            cellStyle,
            rowClick,
            handleReview,
            handleAdd,
            childrenRef,
            addData
        }
    }
}
</script>

<style scoped>
.complain-page {
    height: calc(100% - 60px) ;
    padding: 20px;
    margin-bottom: 20px;
    background: #fff;
    border-radius: 10px;
    position: relative;
}
.complain-btn {
    width: 90px;
    height: 30px;
    position: absolute;
    right: -15px;
    top: -40px;
    border: none;
    background: linear-gradient(90deg, #74DB98 0%, #5AC0AA 100%);
    color: white;
    border-radius: 5px;
}
.el-button {
    color: #16B6A0;
    height: 20px;
}
</style>